package org.posupe.instituicoesEnsino;

import org.posupe.util.Endereco;

public class InstituicaoEnsino {

	private int codigo;
	private String nome;
    private String sigla;
    private Endereco endereco;
    
    public InstituicaoEnsino(int codigo,String nome,String sigla,Endereco endereco){
    	this.codigo = codigo;
    	this.nome = nome;
    	this.sigla = sigla;
    	this.endereco = endereco;
    }

	public int getCodigo() {
		return codigo;
	}

	public void setCodigo(int codigo) {
		this.codigo = codigo;
	}

	public Endereco getEndereco() {
		return endereco;
	}

	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getSigla() {
		return sigla;
	}

	public void setSigla(String sigla) {
		this.sigla = sigla;
	}
    
	public boolean match(InstituicaoEnsino instituicaoensino){
       boolean retorno = true;
       
       if (instituicaoensino!=null && (instituicaoensino.nome!=null ||
    	   instituicaoensino.sigla!=null || instituicaoensino.endereco!=null)) {
    	  
    	   if (this.nome!=null && instituicaoensino.nome!=null && retorno){
    		 retorno = this.nome.equals(instituicaoensino.nome);  
    	   }
    	   
    	   if (this.sigla!=null && instituicaoensino.sigla!=null && retorno){
    		   retorno = this.sigla.equals(instituicaoensino.sigla);
    	   }
    	   
    	   if (this.endereco!=null && instituicaoensino.endereco!=null && retorno){
    		   retorno = this.endereco.match(instituicaoensino.endereco);
    	   }
    	   
       }else {
    	   retorno = false;
       }
       return retorno;
	}
	
	public String toString() {
		return this.codigo + " - " + this.sigla + " - " + this.nome;
	}
    
}
